# 创建时间：2025/5/5 星期一 14:24
# 创建人：李德才

import re

str1 = """
15948775315
6uy8bcdhioufbdw
83809953
ghui15948775315
"""

""" search 匹配第一个, findall 匹配所有, finditer 匹配所有, match 匹配开头 """
pattern = re.compile(r"1[3-9]\d{9}")  # 匹配手机号, 1开头, 第二位3到9, 后面9位数字
print("pattern.search(str1)", pattern.search(str1))  # 匹配第一个手机号, 返回一个match对象, 包含匹配到的字符串
print("search.group()", pattern.search(str1).group())  # 匹配到的字符串
print("pattern.findall(str1)", pattern.findall(str1))  # 匹配所有手机号, 返回一个列表, 包含所有匹配到的字符串
print("pattern.finditer(str1)", pattern.finditer(str1))  # 匹配所有手机号, 返回一个迭代器, 包含所有匹配到的字符串
for match in pattern.finditer(str1):
    print("match.group()", match.group())  # 匹配到的字符串
    print("match.start()", match.start())  # 匹配到的字符串的起始位置
    print("match.end()", match.end())  # 匹配到的字符串的结束位置
    print("match.span()", match.span())  # 匹配到的字符串的起始和结束位置

""" 匹配开头，开头不是1, 匹配失败 """
pattern_match = pattern.match(str1)  # 匹配字符串的开头, 返回一个match对象, 包含匹配到的字符串
print("pattern.match(str1)", pattern.match(str1))  # 输出 None

str2 = "15948775315cdc"  # 这样是匹配成功的
print("pattern.match(str2)", pattern.match(str2).group())


def add(num):
    return str(int(num.group()) + 1)


str3 = "阅读3次"
sub = re.sub(r"\d+", add, str3)
print("sub", sub.upper())

str4 = "hello world hello python hello java"
print("str4.split()", str4.split())
print("str4.split(' ')", str4.split(' '))
print("str4.split(' ', 2)", str4.split(' ', 2))
